package com.baimuzhi.live.utils;

import com.baimuzhi.live.entity.Live;
import com.baimuzhi.live.entity.LiveConfig;
import com.baimuzhi.live.entity.LiveConfigList;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

/**
 * @ClassName : ConfigBuild
 * @Description :
 * @Author : 肖叶茂
 * @Date: 2023/1/18  16:20
 */
@Component
@Data
public class ConfigBuild {

    private  List<LiveConfig> liveConfigList = new ArrayList<>();

    //构造配置
    public  ConfigBuild  initConfigBuild( LiveConfigList liveConfigListObj){
        List<LiveConfig> liveConfigList = new ArrayList<>();
        if(liveConfigListObj != null){
        String[] ids = liveConfigListObj.getIds();
        String[] https = liveConfigListObj.getHttps();
        String[] rtmps =liveConfigListObj.getRtmps();
        String[] flvs  =liveConfigListObj.getFlvs();
        String[] hlss = liveConfigListObj.getHlss();
        String[] urls = liveConfigListObj.getUrls();

        if(ids.length>0&ids.length==https.length&&rtmps.length==flvs.length&&hlss.length==ids.length) {
            LiveConfig liveConfig = new LiveConfig();
            //可以开始匹配
            for (int index = 0; index < ids.length; index++) {

                liveConfig.setId(ids[index]);
                liveConfig.setUrl(urls[index]);
                liveConfig.setHttp(https[index]);
                liveConfig.setRtmp(rtmps[index]);
                liveConfig.setFlv(flvs[index]);
                liveConfig.setHls(hlss[index]);
                liveConfigList.add(liveConfig);
            }
        }
        }else {
//            使用默认参数
            LiveConfig liveConfig = new LiveConfig();
            liveConfig.setId("live");
            liveConfig.setUrl("127.0.0.1");
            liveConfig.setHttp("8090");
            liveConfig.setRtmp("1935");
            liveConfig.setFlv("7001");
            liveConfig.setHls("7002");
            liveConfigList.add(liveConfig);
        }
        this.liveConfigList = liveConfigList;
        ConfigUtil.liveConfigs = liveConfigList;
        return this;
    }
}
